Go1.2发布了,做了一些调整和改进,这里我就只谈谈几个跟我目前关系比较大的,其他的请去查看[release notes](“http://tip.golang.org/doc/go1.2")

nil 的使用

  在Go1.0中 例如:

type T struct {
    X [1<<24]byte
    Field int32
}

func main() {
    var x *T
    ...
} 

  这个nil 指针 x 可以访问非法内存, x.Field 可以访问 1<<24的内存.在Go1.2中 编译器会确保不会错误的使用nil 指针。

切片有三个index

  在Go1.2中 使用切片操作一个存在的数组或切片时可以指定容量(capacity)。必须小于原数组或切片的容量。

var array [10]int
slice = array[2:4:6]

  第三个index是用来指定容量的。当操作 这个 slice时 ,不能访问 原 array 中 的后两个元素

Test coverage

  关于 go test -cover 目前还不是很清楚,所以先空下了, 可以通过 go help testflaggo tool cover -help 来查看具体用法和作用

go doc 被删掉

  现在没有 “go doc” 这个命令了, 只有 “godoc”

go get -t

  -t 参数 可以下载package的依赖项的测试程序



blog comments powered by Disqus

Published

2013-09-22

Categories


Tags